The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes 04
META.yml 11
README.mkdn 12
inc/Pod/Markdown.pm 1630
lib/Test/SharedFork.pm 23
5 files changed (This is a version diff) 2040
@@ -1,5 +1,9 @@
 Revision history for Perl extension Test::SharedFork
 
+0.16
+
+    - doc tweaks
+
 0.15
 
         - added "LIMITATION" section to docs.
@@ -23,4 +23,4 @@ requires:
   perl: 5.8.0
 resources:
   license: http://dev.perl.org/licenses/
-version: 0.15
+version: 0.16
@@ -22,7 +22,8 @@ Test::SharedFork - fork test
 # DESCRIPTION
 
 Test::SharedFork is utility module for Test::Builder.
-This module makes forking test!
+
+This module makes L<fork(2)> safety in your test case.
 
 This module merges test count with parent process & child process.
 
@@ -4,7 +4,9 @@ use strict;
 use warnings;
 
 package Pod::Markdown;
-our $VERSION = '1.100860';
+BEGIN {
+  $Pod::Markdown::VERSION = '1.103491';
+}
 # ABSTRACT: Convert POD to Markdown
 use parent qw(Pod::Parser);
 
@@ -73,8 +75,7 @@ sub _indent_text {
 }
 
 sub _clean_text {
-    my $parser  = shift;
-    my $text    = shift;
+    my $text    = $_[1];
     my @trimmed = grep { $_; } split(/\n/, $text);
     return wantarray ? @trimmed : join("\n", @trimmed);
 }
@@ -90,8 +91,10 @@ sub command {
     if ($command =~ m{head(\d)}xms) {
         my $level = $1;
 
+        $paragraph = $parser->interpolate($paragraph, $line_num);
+
         # the headers never are indented
-        $parser->_save(sprintf '%s %s', '#' x $level, $paragraph);
+        $parser->_save($parser->format_header($level, $paragraph));
         if ($level == 1) {
             if ($paragraph =~ m{NAME}xmsi) {
                 $data->{searching} = 'title';
@@ -124,7 +127,7 @@ sub command {
 }
 
 sub verbatim {
-    my ($parser, $paragraph, $line_num) = @_;
+    my ($parser, $paragraph) = @_;
     $parser->_save($paragraph);
 }
 
@@ -151,8 +154,7 @@ sub textblock {
 }
 
 sub interior_sequence {
-    my ($parser, $seq_command, $seq_argument, $pod_seq) = @_;
-    my $data      = $parser->_private;
+    my ($seq_command, $seq_argument, $pod_seq) = @_[1..3];
     my %interiors = (
         'I' => sub { return '_' . $_[1] . '_' },      # italic
         'B' => sub { return '__' . $_[1] . '__' },    # bold
@@ -160,7 +162,7 @@ sub interior_sequence {
         'F' => sub { return '`' . $_[1] . '`' },      # system path
         'S' => sub { return '`' . $_[1] . '`' },      # code
         'E' => sub {
-            my ($seq, $charname) = @_;
+            my $charname = $_[1];
             return '<' if $charname eq 'lt';
             return '>' if $charname eq 'gt';
             return '|' if $charname eq 'verbar';
@@ -178,20 +180,32 @@ sub interior_sequence {
 }
 
 sub _resolv_link {
-    my ($cmd, $arg, $pod_seq) = @_;
-    if ($arg =~ m{^http|ftp}xms) {
-
-        # direct link to a URL
-        return sprintf '<%s>', $arg;
-    } elsif ($arg =~ m{^(\w+(::\w+)*)$}) {
-        return "[$1](http://search.cpan.org/perldoc?$1)";
+    my ($cmd, $arg) = @_;
+    my $text = $arg =~ s"^(.+?)\|"" ? $1 : '';
+
+    if ($arg =~ m{^http|ftp}xms) { # direct link to a URL
+        $text ||= $arg;
+        return sprintf '[%s](%s)', $text, $arg;
+    } elsif ($arg =~ m{^/(.*)$}) {
+        $text ||= $1;
+        $text = $1;
+        return "[$text](\#pod_$1)";
+    } elsif ($arg =~ m{^(\w+(?:::\w+)*)$}) {
+        $text ||= $1;
+        return "[$text](http://search.cpan.org/perldoc?$1)";
     } else {
         return sprintf '%s<%s>', $cmd, $arg;
     }
 }
+
+sub format_header {
+    my ($level, $paragraph) = @_[1,2];
+    sprintf '%s %s', '#' x $level, $paragraph;
+}
+
 1;
 
 
 __END__
-#line 282
+#line 312
 
@@ -2,7 +2,7 @@ package Test::SharedFork;
 use strict;
 use warnings;
 use base 'Test::Builder::Module';
-our $VERSION = '0.15';
+our $VERSION = '0.16';
 use Test::Builder 0.32; # 0.32 or later is needed
 use Test::SharedFork::Scalar;
 use Test::SharedFork::Array;
@@ -151,7 +151,8 @@ Test::SharedFork - fork test
 =head1 DESCRIPTION
 
 Test::SharedFork is utility module for Test::Builder.
-This module makes forking test!
+
+This module makes L<fork(2)> safety in your test case.
 
 This module merges test count with parent process & child process.